Description
Field Validator that checks if a conversion error occured for this field.
Parameters
- fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required
Examples
<pre>
<validator type="conversion">
<param name="fieldName">myField</param>
<message>Conversion Error Occurred</message>
</validator>
<field name="myField">
<field-validator type="conversion">
<message>Conversion Error Occurred</message>
</field-validator>
</field>
</pre>
Repopulating Field upon conversion Error
The capability of auto-repopulating the stack with a fake parameter map when
a conversion error has occurred can be done with 'repopulateField' property
set to "true".
This is typically usefull when one wants to repopulate the field with the original value
when a conversion error occurred. Eg. with a textfield that only allows an Integer
(the action class have an Integer field declared), upon conversion error, the incorrectly
entered integer (maybe a text 'one') will not appear when dispatched back. With 'repopulateField'
porperty set to true, it will, meaning the textfield will have 'one' as its value
upon conversion error.
<ww:form action="someAction" method="POST">
....
<ww:textfield
label="My Integer Field"
name="myIntegerField" />
....
<ww:submit />
</ww:form>
<xwork>
<include file="webwork-default.xml" />
....
<package name="myPackage" extends="webwork-default">
....
<action name="someAction" class="example.MyActionSupport.java">
<result name="input">myJspPage.jsp</result>
<result>success.jsp</result>
</action>
....
</package>
....
</xwork>
<!-- MyActionSupport.java -->
public class MyActionSupport extends ActionSupport {
private Integer myIntegerField;
public Integer getMyIntegerField() { return this.myIntegerField; }
public void setMyIntegerField(Integer myIntegerField) {
this.myIntegerField = myIntegerField;
}
}
<validators>
...
<field name="myIntegerField">
<field-validator type="conversion">
<param name="repopulateField">true</param>
<message>Conversion Error (Integer Wanted)</message>
</field-validator>
</field>
...
</validators>
|